From: Keir Fraser Date: Wed, 1 Apr 2009 10:53:15 +0000 (+0100) Subject: x86 hpet: fix irq_vector[] update of c/s 19419 X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~13989^2~21 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22Dat/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22Dat?a=commitdiff_plain;h=3a8690df4ac44731476b9d9f0aa30470bce3d66c;p=xen.git x86 hpet: fix irq_vector[] update of c/s 19419 Signed-off-by: Jan Beulich Signed-off-by: Keir Fraser --- diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c index 97d0979305..ea7c5be144 100644 --- a/xen/arch/x86/hpet.c +++ b/xen/arch/x86/hpet.c @@ -343,20 +343,16 @@ static int hpet_setup_msi_irq(unsigned int vector) static int hpet_assign_irq(struct hpet_event_channel *ch) { - unsigned int vector; + int vector; - vector = assign_irq_vector(AUTO_ASSIGN_IRQ); - if ( !vector ) - return -EINVAL; + if ( (vector = assign_irq_vector(AUTO_ASSIGN_IRQ)) < 0 ) + return vector; - irq_vector[vector] = vector; - vector_irq[vector] = vector; vector_channel[vector] = ch - &hpet_events[0]; if ( hpet_setup_msi_irq(vector) ) { - irq_vector[vector] = 0; - vector_irq[vector] = FREE_TO_ASSIGN_IRQ; + free_irq_vector(vector); vector_channel[vector] = -1; return -EINVAL; }